class Solution:
    """
    尽量用大饼干满足胃口大的孩子，这样不会浪费饼干，所以需要对数组进行排序后遍历
    尽量用大饼干：贪心算法
    思路：用两个指针对应孩子数组和饼干数组，找对应关系，孩子胃口g[i] <= 饼干大小s[j]，则表示可满足，继续判断下一块饼干和下一个孩子，i++,j++
         否则需要继续找下一块饼干看是否满足孩子,j++
    """

    @staticmethod
    def find_content_children(g: list, s: list):
        # 定义初始值，同时遍历两个列表(有点像双指针那意思)，判断对应关系
        i = j = count = 0
        # 排序
        g.sort(), s.sort()
        while i < len(g) and j < len(s):
            # 判断是否满足孩子胃口,满足进行下一个判断
            if g[i] <= s[i]:
                i += 1
                j += 1
                count += 1
            # 不满足则找一块饼干
            else:
                j += 1
        # 返回统计的个数
        return count

    @staticmethod
    def find_contents_children2(g: list, s: list):
        """
        从上述代码可以看出，i和count是同时相加的，即最后i==count，且无论是否满足，都需要找下一块饼干即j++，所以代码可更加简洁如下：
        :param g:
        :param s:
        :return:
        """
        i = j = 0
        g.sort(), s.sort()
        while i < len(g) and j < len(s):
            if g[i] <= s[i]:
                i += 1
            j += 1
        return i

